1. Field of the Invention
The present invention relates to a non-volatile semiconductor memory device (EEPROM) capable of electrically rewriting data, which device is constituted by memory cells each having a MOS transistor structure having a charge storage layer and a control gate, and more particularly, to an EEPROM for writing/erasing data in/from each memory cell using a tunnel current.
2. Description of the Related Art
In the field of EEPROMs, a memory cell of a MOS transistor structure having a charge storage layer (floating gate) and a control gate is widely used, and there is a growing trend toward higher integration densities. This memory cell is capable of electrically writing data by exchanging charges between the floating gate and the semiconductor substrate.
In a device of this type, when a data erase operation is to be performed, a high electric field is applied to the tunnel oxide film of each memory cell between the floating gate and the semiconductor, posing problems in terms of dielectric breakdown and leakage current. In a data write operation, a high electric field is applied to the tunnel oxide film, and hence a great stress is applied thereto. For this reason, the tunnel oxide film of each memory cell deteriorates after the device is used for a predetermined period of time. This deterioration in the tunnel oxide film will reduce the resistance of cell data to a stress acting on each cell in a cell data read operation, and shorten the service life of cell data.
As one of the above EEPROMs, a NAND-type EEPROM which allows a high integration density is known. In a NAND-type EEPROM, a plurality of memory cells are connected in series such that the respective adjacent memory cells share sources and drains. These memory cells are connected, as a unit, to a bit line. Each memory cell generally has an FET structure in which a charge storage layer and a control gate are stacked on each other. A memory cell array is integrally formed in a p-type well formed in a p- or n-type substrate.
The drain and source sides of a NAND cell are respectively connected to a bit line and a source line (reference potential line) via selection gates. The control gates of the respective memory cells are continuously connected to each other in the row direction to constitute a word line. In general, a set of cells connected to the same word line is called a page, and a set of pages between a pair of selection gates on the drain and source sides is called a NAND block or simply a block. In general, one block is the minimum unit which can be independently erased.
The NAND-type EEPROM is operated as follows.
A data erase operation is performed with respect to the memory cells in one NAND block at once. All the control gates of a selected NAND block are set at V.sub.SS, and a high voltage V.sub.pp (e.g., 20 V) is applied to the p-type well and the n-type substrate. With this operation, electrons are discharged from the floating gates of all the memory cells, and the threshold value of each memory cell shifts in the negative-value direction (normally, this state is defined as a "1" state). A chip erase operation is performed by setting all the NAND blocks in a selected state.
A data write operation is sequentially performed from the memory cell located farthest from the bit line. A high voltage V.sub.PP (e.g., 20 V) is applied to a selected control gate in a NAND block, and an intermediate potential V.sub.M (e.g., 10 V) is applied to the remaining non-selected control gates. A potential V.sub.SS or V.sub.bitH (8 V) is applied to the bit line in accordance with data. When the potential V.sub.SS is applied to the bit line ("0" write operation), the potential is transferred to the selected memory cell, and electrons are injected into the floating gate. As a result, the threshold value of the selected memory cell shifts in the positive-value direction (normally this state is defined as a "0" state). When the potential VbitH is applied to the bit line ("1" write operation), since no electrons are injected into the memory cell, the threshold value of the memory cell does not change and remains negative. The potential V.sub.M is applied to the drain-side selection gate to transfer the bit line potential.
A data read operation is performed as follows. The control gate of a selected memory cell in a NAND block is set at V.sub.SS, and the remaining control gates and the selection gates are set at V.sub.CC. In this state, it is checked whether a current flows in the selected memory cell. The readout data is latched in a sense amplifier/data latch circuit.
A write verify cycle will be described below.
After write data is input, a set voltage (e.g., 20 V) is applied to selected control gates for a set time (e.g., 40 .mu.sec), Thereafter, a read operation is performed to confirm the completion of the write operation. If there are any memory cells which have undergone an insufficient write operation, a write operation is performed again with respect to these memory cells by applying a voltage of 20 V thereto for 40 .mu.sec. At this time, with respect to memory cells which have undergone a sufficient write operation, the potential V.sub.bitH is applied to the bit line to prevent further electron injection. That is, the write operation with a voltage of 20 V and a writing time of 40 .mu.sec is repeated until the data is completely written in all the memory cells.
Table 1 shows potentials at the respective portions in this case.
TABLE 1 ______________________________________ Number of Times of Write First Second Third Fourth Fifth Operations Time Time Time Time Time ______________________________________ (V.sub.bitH) bit line 8 V 8 V 8 V 8 V 8 V "1" bit line V.sub.SS V.sub.SS V.sub.SS V.sub.SS 8 V "0" (V.sub.M) SG.sub.D 10 V 10 V 10 V 10 V 10 V (V.sub.M) CG.sub.1 to CG.sub.7 10 V 10 V 10 V 10 V 10 V (V.sub.PP) CG.sub.8 20 V 20 V 20 V 20 V 20 V (selected) CG.sub.S V.sub.SS V.sub.SS V.sub.SS V.sub.SS V.sub.SS ______________________________________
In the above write method of verifying data in units of blocks (or chips), a method of writing data while increasing the voltage (high voltage V.sub.PP) applied to each control gate so as to shorten the programming time is known (to be referred to as a chip-by-chip verify voltage increasing method hereinafter).
This write method will be described below with reference to FIG. 1. In the method, a program is written by the following procedure.
There are variations in process and threshold value among the respective memory cells. For example, in this case, the threshold value of a memory cell having the minimum threshold value (i.e., a hardest cell M.sub.2 to write thereto) is set to be V.sub.th =-4 V (A0 in FIG. 1); a memory cell having the maximum threshold value (i.e., an easiest memory cell M.sub.1 to write thereto) is set to be V.sub.th =-1 V (B0 in FIG. 1); and the threshold value of a memory cell in which "0" is written is set to fall within the range of 0.5 V to 2 V.
A page (or a chip) is selected first.
The potential V.sub.SS (e.g., 0 V) for "0" write operation or the potential V.sub.bitH (e.g., 10 V) for "1" write operation is applied to the bit line connected to each memory cell of the selected page in accordance with data to be written.
Thereafter, the first write operation is performed by applying the high voltage V.sub.PP (e.g., 18.5 V) to each selected word line (i.e., the control gate of each selected memory cell).
Upon completion of the first write operation, it is checked whether the threshold value V.sub.th of each memory cell has reached a completion determination level (verify operation). At this time, the threshold value V.sub.th of the memory cell M.sub.1 is 0 V (B1), and the threshold value V.sub.th of the memory cell M.sub.2 is -3 V (A1).
Since both the threshold values V.sub.th of the memory cells M.sub.1 and M.sub.2 are lower than a predetermined value, it is determined that the write processing is not completed. As a result, a constant voltage V.sub.PP (e.g., 19.5 V) higher than the voltage applied in the first write operation is applied to each selected word line, thus performing the second write operation. With the second write operation, the threshold value V.sub.th of the memory cell M.sub.1 becomes 3 V (B3), and hence falls within the predetermined range. However, the threshold value V.sub.th of the memory cell M.sub.2 is -0.5 V (A3), and hence falls outside the predetermined range. Therefore, it is determined that the write processing is not completed.
In order to perform a write operation with respect to the memory cell M.sub.2, a constant voltage V.sub.PP (e.g., 20.5 V) higher than the voltage applied in the second write operation is applied to each selected word line, thus performing the third write operation. Subsequently, verify and write operations are performed, while the voltage of the selected word line is gradually increased, until the write processing with respect to the hardest memory cell M.sub.2 to write thereto is completed (the threshold value falls within the predetermined range).
This method is disclosed in, e.g., Jpn. Pat. Appln. KOKAI Publication No. 61-239497.
In the above method, the voltage V.sub.PP applied to selected word line is sequentially increased until all the memory cells on a selected page are programmed. The finally applied voltage V.sub.PP (=21.5 V) is equally applied to both the hardest memory cell to write thereto and the easiest memory cell to write thereto. That is, data is written in all memory cells by using the same voltage V.sub.PP.
The programming time, therefore, can be shortened. However, the easiest memory cell to write thereto is subjected to over-programming.
In order to solve the above problem, a method of verifying memory cells in units of bits (to be referred to as a bit-by-bit verify fixed voltage method hereinafter) may be used.
This method will be described below with reference to FIG. 2.
There are process variations among the respective memory cells and variations in threshold value depending on the application states of the memory cells. For example, in this case, a memory cell having the minimum threshold value (i.e., an easiest memory cell M.sub.2 to write thereto) is set to be V.sub.th =-3 V (C0 in FIG. 2); a memory cell having the maximum threshold value (i.e., a hardest memory cell M.sub.1 to write thereto) is set to be V.sub.th =0 V (D0 in FIG. 2); and the threshold value V.sub.th of a memory cell in which "0" is to be written is set to fall within the range of 0.5 V to 2 V.
A given page (or a chip) is selected first.
A voltage V.sub.SS (e.g., 0 V) for "0" write operation or a voltage V.sub.bitH (e.g., 10 V) for "1" write operation is applied to a bit line connected to each memory cell of the selected page in accordance with data to be written.
The first write operation is performed by applying a high voltage V.sub.PP (=18.5 V) to each selected word line (i.e., the control gate of each selected memory cell).
Upon completion of the first write operation, it is checked whether the threshold value V.sub.th of each memory cell has reached a completion determination level (verify operation). In this case, the threshold value V.sub.th of the memory cell M.sub.1 is 1 V (C1), and hence falls within the predetermined range. However, the threshold value V.sub.th of the memory cell M.sub.2 is -2 V (D1), and hence falls outside the predetermined range. Therefore, it is determined that the write processing is not completed.
A voltage of 10 V is applied to bit lines connected to memory cells (not shown) for which no write operation is to be performed and memory cells for which data processing is completed, and a voltage of 0 V is applied to a bit line connected to memory cells for which write processing is not completed. In addition, the same voltage V.sub.PP (18.5 V) as that applied in the first write operation is applied to each selected word line for a slightly longer period of time than in the first write operation.
The above operation is repeated until write processing with respect to the hardest memory cell M.sub.2 to write thereto is completed (the threshold value falls within the predetermined range).
This method is disclosed in, e.g., Jpn. Pat. Appln. KOKAI Publication No. 1-159895.
In the above method, since data is verified in units of memory cells, over-programming with respect to memory cells can be prevented. That is, the width of the threshold value distribution of memory cells can be set within a predetermined (desired) range. All the memory cells on a selected page are programmed by the same voltage V.sub.PP (18.5 V). Since a memory cell exhibiting a low programming speed (a hard memory cell to write thereto) and a memory cell exhibiting a high programming speed (an easy memory cell to write thereto) are programmed by the same voltage, it takes much time to completely program all the memory cells.